'\" t
.TH "FILE\-HIERARCHY" "7" "" "systemd 231" "file-hierarchy"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
file-hierarchy \- 文件系统层次结构概览
.SH "描述"
.PP
对于使用
\fBsystemd\fR(1)
的操作系统来说， 其文件系统层次结构遵守
\m[blue]\fBFile System Hierarchy\fR\m[]\&\s-2\u[1]\d\s+2
与
\fBhier\fR(7)
规范。 本手册仅描述一个符合上述规范的子集， 该子集较小也较现代， 并且更加严格的遵守上述规范。
.PP
许多本文所描述的路径都可以通过
\fBsystemd-path\fR(1)
工具来查询。
.SH "总体结构"
.PP
/
.RS 4
文件系统的根。 通常是可写的(也可以是只读的)， 并且可以是一个
"tmpfs"
文件系统。 除非是只读的，否则不与其他主机共享。
.RE
.PP
/boot
.RS 4
启动分区。 在UEFI系统上通常是"EFI System Partition"， 参见
\fBsystemd-gpt-auto-generator\fR(8)
手册。 该目录通常严格位于本机的内置存储上， 并且应该是只读的(除非需要安装内核或引导管理器)。 仅当操作系统运行在物理机或者虚拟硬件上时才需要此目录， 因为这种情况下必须使用引导管理器。
.RE
.PP
/etc
.RS 4
特定于该操作系统的配置。 该目录可以是只读的(也可以是可读写的)。 通常用于存储操作系统发行商预设的配置文件， 但是应用程序不应该假设该目录中必然存在某个配置文件， 而是应该在期望的配置文件不存在的情况下， 回退到默认设置。
.RE
.PP
/home
.RS 4
存储普通用户的家目录。 可以与其他操作系统共享， 并且必须是可读写的(不能是只读的)。 该目录必须仅用于普通用户， 切勿用于系统用户(系统用户不只有"root")。 该目录及其子目录可以在启动过程的末尾才变得可用， 甚至可以在完成用户身份认证之后才变得可用。 该目录可以位于功能受限的网络文件系统上， 因此，应用程序不应该假定所有文件系统API在此目录上都可用。 应用程序不应该直接引用该目录及其子目录， 而是应该通过针对每个用户设置的
\fI$HOME\fR
环境变量来引用， 或者根据用户数据库中的"家目录"字段的值来引用。
.RE
.PP
/root
.RS 4
"root"用户的家目录。 将根用户的家目录放到
/home
之外是为了确保即使在
/home
目录不可用的情况下， "root"用户依然可以正常登录。
.RE
.PP
/srv
.RS 4
存储常规服务器数据(载荷)的目录，由服务器管理员管理。 其中的子目录如何组织，没有明确的规范。 该目录通常是可写的，并且可以与其他操作系统共享。 该目录可以在启动过程的末尾才变得可用。
.RE
.PP
/tmp
.RS 4
存放小临时文件的目录。 通常挂载为一个
"tmpfs"
文件系统。 切勿在此目录中存放体积较大的临时文件(应该使用
/var/tmp
目录)。 因为系统上的所有用户都可以访问该目录， 所以必须确保该目录仅对
\fBmkstemp\fR(3),
\fBmkdtemp\fR(3)
相关系统调用可写。 该目录在系统启动过程中会被清空。 并且，如果其中的某些文件持续长时间不被访问，通常也会被自动删除。 如果应用程序发现
\fI$TMPDIR\fR
环境变量已经被设置， 那么应该使用
\fI$TMPDIR\fR
环境变量的设置， 而不应该直接使用
/tmp
目录(参见
\fBenviron\fR(7)
与
\m[blue]\fBIEEE Std 1003\&.1\fR\m[]\&\s-2\u[2]\d\s+2
)。
.RE
.SH "运行时数据"
.PP
/run
.RS 4
一个用于存放系统软件运行时数据的
"tmpfs"
文件系统。 该目录在系统启动过程中会被清空。 该目录必须总是可写的， 但是通常又应该仅赋予特权应用写入权限。
.RE
.PP
/run/log
.RS 4
运行时系统日志。 系统组件可以在这个目录中存放私有日志。 该目录必须总是可写的(即使
/var/log
目录尚不能访问)。
.RE
.PP
/run/user
.RS 4
针对每个用户的运行时目录。 通常针对每个用户单独挂载一个
"tmpfs"
文件系统实例。 该目录必须总是可写的， 并且在系统启动过程中以及对应的用户登出后会被自动清空。 应用程序不应该直接引用该目录，而是应该通过针对每个用户设置的
\fI$XDG_RUNTIME_DIR\fR
环境变量来引用。 详见
\m[blue]\fBXDG Base Directory Specification\fR\m[]\&\s-2\u[3]\d\s+2
.RE
.SH "发行商提供的操作系统资源"
.PP
/usr
.RS 4
发行商提供的操作系统资源。 通常应该是只读的(但非必须是只读)。可以与其他主机共享。 系统管理员不应该修改此目录中的内容， 除非需要安装或卸载发行商提供的软件包。
.RE
.PP
/usr/bin
.RS 4
存放应当出现在
\fI$PATH\fR
搜索路径中的用户命令(可执行文件)。 建议仅将命令行工具放到此目录中， 而例如守护进程之类的非命令行工具， 则应该放到
/usr/lib
下的子目录中。
.RE
.PP
/usr/include
.RS 4
系统库的 C 与 C++ API 头文件目录。
.RE
.PP
/usr/lib
.RS 4
存放通用于所有体系结构的、静态的发行商专属数据。 这包括软件包内部使用的可执行文件、 以及例如守护进程之类的非命令行工具。 这些二进制文件可用于该操作系统支持的所有体系结构。 不要在此目录中放置公共库， 而应该将它们放到
\fI$libdir\fR
目录中(参见下文)。
.RE
.PP
/usr/lib/\fIarch\-id\fR
.RS 4
存放动态链接库， 又被称为
\fI$libdir\fR
目录。
\fIarch\-id\fR
的具体名称遵守
\m[blue]\fBMultiarch Architecture Specifiers (Tuples)\fR\m[]\&\s-2\u[4]\d\s+2
列表的规范。 传统上，\fI$libdir\fR
通常是
/usr/lib
与
/usr/lib64
目录。 该目录不应该用于存放特定于某个软件的专属数据， 除非这些数据是专属于特定体系结构的。 可以使用下面的命令查询用于该系统的首选体系结构的
\fI$libdir\fR
的值：
.sp
.if n \{\
.RS 4
.\}
.nf
# systemd\-path system\-library\-arch
.fi
.if n \{\
.RE
.\}
.RE
.PP
/usr/share
.RS 4
在多个软件包之间共享的资源， 例如文档、手册、时区数据、字体等资源。 此目录下的子目录结构及文件格式， 取决于确保软件之间正常相互操作的各种规范。
.RE
.PP
/usr/share/doc
.RS 4
操作系统以及各种软件包的文档。
.RE
.PP
/usr/share/factory/etc
.RS 4
发行商提供的默认配置文件仓库。 该目录中应该放置发行商提供的、 所有可能放入
/etc
目录的配置文件的原始默认文件。 这个目录主要是为了方便恢复默认设置 以及对比当前配置与默认配置的不同。
.RE
.PP
/usr/share/factory/var
.RS 4
与
/usr/share/factory/etc
类似， 用于存放发行商提供的
/var
目录内容的原始默认文件。
.RE
.SH "应该持久保存的易变系统数据"
.PP
/var
.RS 4
应该持久保存的易变系统数据。 该目录必须可写。 该目录可以预先填充发行商预设的数据， 但是应用程序可以自行创建所需的文件和目录。 强烈推荐(但非必须)持久保存该目录中的数据， 系统必须在该目录为空时依然能够正常启动， 以支持临时运行的系统。 该目录可以在启动过程的末尾才变得可用， 因此那些在系统启动早期运行的组件不应该依赖于此目录的存在。
.RE
.PP
/var/cache
.RS 4
应该持久保存的系统缓存。 系统组件可以在该目录中放置非关键的缓存。 清空该目录必须不影响应用的正常工作 (但应用可以花费额外的时间重建这些缓存)。
.RE
.PP
/var/lib
.RS 4
应该持久保存的系统数据。 系统组件可以在该目录中放置专属的数据。
.RE
.PP
/var/log
.RS 4
应该持久保存的系统日志。 系统组件可以在该目录中放置专属的日志。 不过，推荐的方式是通过
\fBsyslog\fR(3)
与
\fBsd_journal_print\fR(3)
接口记录日志。
.RE
.PP
/var/spool
.RS 4
应该持久保存的系统队列。 例如邮件队列或打印队列。
.RE
.PP
/var/tmp
.RS 4
应该持久保存的临时文件(通常体积也比较大)。 此目录通常位于持久存储设备上，并且可以存储较大的临时文件。 相比较而言，/tmp
一般位于内存中， 并且仅用于存储较小的临时文件。 该目录在系统启动过程中一般不会被清空， 但是，如果其中的某些文件持续长时间不被访问，通常也会被自动删除。 因为系统上的所有用户都可以访问该目录， 所以必须确保该目录仅对
\fBmkstemp\fR(3),
\fBmkdtemp\fR(3)
相关系统调用可写。 如果应用程序发现
\fI$TMPDIR\fR
环境变量已经被设置， 那么应该使用
\fI$TMPDIR\fR
环境变量的设置， 而不应该直接使用
/var/tmp
目录(参见
\fBenviron\fR(7))。
.RE
.SH "虚拟文件系统"
.PP
/dev
.RS 4
设备节点的根目录。 通常被挂载为一个
"devtmpfs"
文件系统实例 (但在沙盒或容器中可能是其他类型)。 该目录中的内容由内核与
\fBsystemd-udevd.service\fR(8)
共同管理，其他任何组件都不应该修改此目录中的内容。 可以在该目录的子目录中再挂载其他特定用途的虚拟文件系统。
.RE
.PP
/dev/shm
.RS 4
通过
\fBshm_open\fR(3)
创建的POSIX共享内存。 因为它其实是一个
"tmpfs"
文件系统， 所以在系统启动过程中会被清空。 因为系统上的所有用户都可以读写该目录， 所以必须注意避免文件名冲突以及安全漏洞(也就是注意权限设置)。 对于普通用户，当其退出登录时，其在该目录下创建的文件也会被删除。 通常，在
/run
目录(针对系统进程) 或
\fI$XDG_RUNTIME_DIR\fR
目录(针对用户进程)中使用内存映射文件， 是比使用POSIX共享内存更好的解决方案。 因为这些目录不是全局可写的， 所以不存在文件名冲突以及安全漏洞的问题。
.RE
.PP
/proc
.RS 4
显示进程信息以及其他功能的虚拟文件系统。 此文件系统主要用作内核与用户交互的界面。 详见
\fBproc\fR(5)
手册。 可以在该目录的子目录中再挂载其他特定用途的虚拟文件系统。
.RE
.PP
/proc/sys
.RS 4
调整内核各项参数的一个界面。 主要通过
\fBsysctl.d\fR(5)
中的配置文件进行设置。 但在沙盒或容器中该目录通常以只读方式挂载(也就是禁止修改内核参数)。
.RE
.PP
/sys
.RS 4
显示所有已发现设备以及其他功能的虚拟文件系统。 此文件系统主要用作内核与用户交互的界面。 在沙盒或容器中该目录通常以只读方式挂载。 可以在该目录的子目录中 再挂载其他特定用途的虚拟文件系统。
.RE
.SH "兼容性软连接"
.PP
/bin, /sbin, /usr/sbin
.RS 4
这三个软连接都指向
/usr/bin
以确保对传统路径的兼容。
.RE
.PP
/lib
.RS 4
这个软连接指向
/usr/lib
以确保对传统路径的兼容。
.RE
.PP
/lib64
.RS 4
在64位系统上， 这个软连接指向
\fI$libdir\fR
以确保对传统路径的兼容。 此软连接仅存在于动态加载器位于此路径的系统架构上。
.RE
.PP
/var/run
.RS 4
这个软连接指向
/run
以确保对传统路径的兼容。
.RE
.SH "家目录"
.PP
用户应用如果想要在用户的家目录中保存文件或目录，那么应该遵守下面的规范。 注意，下面的某些目录虽然比较脆弱， 但是已经被
\m[blue]\fBXDG Base Directory Specification\fR\m[]\&\s-2\u[3]\d\s+2
标准化了。 其他为高层次用户资源定义的位置参见
\m[blue]\fBxdg\-user\-dirs\fR\m[]\&\s-2\u[5]\d\s+2
文档。
.PP
~/\&.cache
.RS 4
应该持久保存的用户缓存。 应用可以在该目录中放置非关键的用户缓存。 清空该目录中的缓存必须不影响应用的正常工作 (但应用可以花费额外的时间重建这些缓存)。 如果应用程序发现
\fI$XDG_CACHE_HOME\fR
环境变量已经被设置， 那么应该使用
\fI$XDG_CACHE_HOME\fR
环境变量的设置， 而不应该直接使用
~/\&.cache
目录。
.RE
.PP
~/\&.config
.RS 4
应该持久保存的用户配置与状态。 当新用户刚被创建时，该目录应该初始为空或根本不存在。 如果期望的配置文件不存在于该目录中， 那么应用程序应该回退到默认设置，而不应该罢工。 如果应用程序发现
\fI$XDG_CONFIG_HOME\fR
环境变量已经被设置， 那么应该使用
\fI$XDG_CONFIG_HOME\fR
环境变量的设置， 而不应该直接使用
~/\&.config
目录。
.RE
.PP
~/\&.local/bin
.RS 4
存放应当出现在用户专属的
\fI$PATH\fR
搜索路径中的用户命令(可执行文件)。 建议仅将命令行工具放到此目录中， 而例如守护进程之类的非命令行工具， 则应该放到
~/\&.local/lib
下的子目录中。 注意，当在此目录中存放特定于体系结构的可执行文件时， 可能会因为与其他不同体系结构的系统共享家目录而出现故障。
.RE
.PP
~/\&.local/lib
.RS 4
存放通用于所有体系结构的、静态的用户专属数据。这包括软件包内部使用的可执行文件、以及例如守护进程之类的非命令行工具。这些二进制文件可用于该操作系统支持的所有体系结构。 不要在此目录中放置公共库，而应该将它们放到
~/\&.local/lib/\fIarch\-id\fR
目录中(参见下文)。
.RE
.PP
~/\&.local/lib/\fIarch\-id\fR
.RS 4
存放专属于特定体系结构的动态链接库。
\fIarch\-id\fR
的具体名称遵守
\m[blue]\fBMultiarch Architecture Specifiers (Tuples)\fR\m[]\&\s-2\u[4]\d\s+2
列表的规范。
.RE
.PP
~/\&.local/share
.RS 4
在多个软件包之间共享的资源，例如图标、字体等资源。 此目录下的子目录结构及文件格式， 取决于确保软件之间正常相互操作的各种规范。 如果应用程序发现
\fI$XDG_DATA_HOME\fR
环境变量已经被设置， 那么应该使用
\fI$XDG_DATA_HOME\fR
环境变量的设置， 而不应该直接使用
~/\&.local/share
目录。
.RE
.SH "非特权进程的写权限"
.PP
非特权进程通常对大多数目录都没有写权限。
.PP
但对于普通用户的非特权进程来说，可以写入
/tmp,
/var/tmp,
/dev/shm,
\fI$HOME\fR
(通常位于
/home
下),
\fI$XDG_RUNTIME_DIR\fR
(通常位于
/run/user
下) 目录。
.PP
而对于系统的非特权进程来说，则仅可以写入
/tmp,
/var/tmp,
/dev/shm
目录。 如果系统的非特权进程需要在
/var
或
/run
目录中创建一个专属的、可写入的目录， 那么可以在守护进程丢弃特权之前先创建该目录，或者通过
\fBtmpfiles.d\fR(5)
在系统启动时先创建该目录， 或者通过服务单元文件中的
\fIRuntimeDirectory=\fR
指令(详见
\fBsystemd.unit\fR(5)
手册)创建该目录。
.SH "文件类型"
.PP
Unix文件系统支持不同的文件节点类型： 普通文件、目录、软连接、字符设备、块设备、 套接字(socket)、管道(FIFO)。
.PP
强烈建议仅将设备文件放置在
/dev
目录中、 仅将套接字(socket)与管道(FIFO)文件放置在
/run
目录中。 而普通文件、目录、软连接则可以放置在所有目录中。
.SH "系统软件包"
.PP
系统软件包的开发者应该严格遵守下面的文件布局规范。 下面列出了发行商提供的系统软件包中各类文件的推荐位置：
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.B Table\ \&1.\ \&系统软件包中静态文件的推荐位置
.TS
allbox tab(:);
lB lB.
T{
目录
T}:T{
用途
T}
.T&
l l
l l
l l
l l
l l.
T{
/usr/bin
T}:T{
应该出现在 \fI$PATH\fR 搜索路径中且与体系结构无关的可执行文件。不要将软件包内部使用的可执行文件或非命令行工具(例如守护进程之类)放到此目录中。因为众多的软件包都使用此目录，所以必须选择独一无二的可执行文件名称，以避免冲突。
T}
T{
/usr/lib/\fIarch\-id\fR
T}:T{
全局通用的体系结构相关的共享库。因为众多的软件包都使用此目录，所以必须选择独一无二的共享库名称，以避免冲突。
T}
T{
/usr/lib/\fIpackage\fR
T}:T{
发行商提供的该软件包专属的体系结构无关的静态资源(可执行文件、库文件、只读数据)。
T}
T{
/usr/lib/\fIarch\-id\fR/\fIpackage\fR
T}:T{
发行商提供的体系结构相关的该软件包专属的资源(通常不包括软件包内部使用的可执行文件)。
T}
T{
/usr/include/\fIpackage\fR
T}:T{
该软件包提供的共享库的 C/C++ 头文件。
T}
.TE
.sp 1
.PP
发行商提供的其他静态资源应该存放在
/usr/share
目录下， 具体的存放位置应该遵守其他的相关规范。
.PP
存放软件包运行时数据以及配置文件的相关目录如下：
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.B Table\ \&2.\ \&系统软件包的运行时数据以及配置文件的推荐位置
.TS
allbox tab(:);
lB lB.
T{
目录
T}:T{
用途
T}
.T&
l l
l l
l l
l l
l l
l l
l l.
T{
/etc/\fIpackage\fR
T}:T{
特定于该系统的配置文件。如果该目录不存在，那么软件包应该尽可能回退到安全的默认设置，而不应该罢工。可选地，可以设置一个 \fBtmpfiles.d\fR(5) 配置文件，以实现在系统启动过程中，从 /usr/share/factory 目录中复制("C"指令)或软连接("L"指令)所需的文件到该目录中。
T}
T{
/run/\fIpackage\fR
T}:T{
软件包的运行时数据。因为该目录会在系统启动过程中被清空，所以软件包必须有权限在此目录中创建子目录及文件。可选的，可以设置一个 \fBtmpfiles.d\fR(5) 配置文件，以实现在系统启动过程中自动在此目录中创建所需的子目录及文件。或者可选的，在服务单元文件中使用 \fIRuntimeDirectory=\fR 指令(详见 \fBsystemd.unit\fR(5) 手册)以达到上述目的。
T}
T{
/run/log/\fIpackage\fR
T}:T{
软件包的运行时日志。因为该目录会在系统启动过程中被清空，所以软件包必须有权限在此目录中创建子目录及文件。
T}
T{
/var/cache/\fIpackage\fR
T}:T{
软件包的持久缓存。清空该目录必须不影响软件包的正常工作(但软件包可以花费额外的时间重建这些缓存)。软件包必须有权限在此目录中创建子目录及文件。
T}
T{
/var/lib/\fIpackage\fR
T}:T{
软件包的持久专属数据。存放无法明确分类的持久数据。软件包必须有权限在此目录中创建子目录及文件，因为在系统启动时该目录可能为空。可选的，可以设置一个 \fBtmpfiles.d\fR(5) 配置文件，以实现在系统启动过程中自动在此目录中创建所需的子目录及文件。
T}
T{
/var/log/\fIpackage\fR
T}:T{
软件包的持久日志数据。软件包必须有权限在此目录中创建子目录及文件，因为在系统启动时该目录可能为空。
T}
T{
/var/spool/\fIpackage\fR
T}:T{
软件包的持久队列数据。软件包必须有权限在此目录中创建子目录及文件，因为在系统启动时该目录可能为空。
T}
.TE
.sp 1
.SH "用户软件包"
.PP
对于专属于特定用户的软件包， 其存贮在用户家目录中的文件必须严格遵守下面的文件布局规范。 注意，当安装属于系统范围的软件包时， 应该遵守前面"系统软件包"小节的布局规范。 下面列出了当用户在其家目录中安装专属软件包时， 由发行商提供的各种类型的文件在用户家目录中应该存放的位置：
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.B Table\ \&3.\ \&用户软件包中静态文件的推荐位置
.TS
allbox tab(:);
lB lB.
T{
目录
T}:T{
用途
T}
.T&
l l
l l
l l
l l.
T{
~/\&.local/bin
T}:T{
应该出现在 \fI$PATH\fR 搜索路径中且与体系结构无关的可执行文件。不要将软件包内部使用的可执行文件或非命令行工具(例如守护进程之类)放到此目录中。因为众多的软件包都使用此目录，所以必须选择独一无二的可执行文件名称，以避免冲突。
T}
T{
~/\&.local/lib/\fIarch\-id\fR
T}:T{
全局通用的体系结构相关的共享库。因为众多的软件包都使用此目录，所以必须选择独一无二的共享库名称，以避免冲突。
T}
T{
~/\&.local/lib/\fIpackage\fR
T}:T{
发行商提供的该软件包专属的体系结构无关的静态资源(可执行文件、库文件、只读数据)。
T}
T{
~/\&.local/lib/\fIarch\-id\fR/\fIpackage\fR
T}:T{
发行商提供的体系结构相关的该软件包专属的资源(通常不包括软件包内部使用的可执行文件)。
T}
.TE
.sp 1
.PP
发行商提供的其他静态资源应该存放在
~/\&.local/share
目录下， 具体的存放位置应该遵守其他的相关规范。
.PP
存放软件包运行时数据以及配置文件的相关目录如下：
.sp
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.B Table\ \&4.\ \&用户软件包的运行时数据以及配置文件的推荐位置
.TS
allbox tab(:);
lB lB.
T{
目录
T}:T{
用途
T}
.T&
l l
l l
l l.
T{
~/\&.config/\fIpackage\fR
T}:T{
特定于该用户的配置文件。如果该目录不存在，那么软件包必须能够安全的回退到默认设置，而不能罢工。
T}
T{
\fI$XDG_RUNTIME_DIR\fR/\fIpackage\fR
T}:T{
特定于该用户的运行时数据。
T}
T{
~/\&.cache/\fIpackage\fR
T}:T{
软件包的持久缓存。清空该目录必须不影响软件包的正常工作(但软件包可以花费额外的时间重建这些缓存)。软件包必须有权限在此目录中创建子目录及文件。
T}
.TE
.sp 1
.SH "参见"
.PP
\fBsystemd\fR(1),
\fBhier\fR(7),
\fBsystemd-path\fR(1),
\fBsystemd-gpt-auto-generator\fR(8),
\fBsysctl.d\fR(5),
\fBtmpfiles.d\fR(5),
\fBpkg-config\fR(1),
\fBsystemd.unit\fR(5)
.SH "NOTES"
.IP " 1." 4
File System Hierarchy
.RS 4
\%http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html
.RE
.IP " 2." 4
IEEE Std 1003.1
.RS 4
\%http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03
.RE
.IP " 3." 4
XDG Base Directory Specification
.RS 4
\%http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
.RE
.IP " 4." 4
Multiarch Architecture Specifiers (Tuples)
.RS 4
\%https://wiki.debian.org/Multiarch/Tuples
.RE
.IP " 5." 4
xdg-user-dirs
.RS 4
\%http://www.freedesktop.org/wiki/Software/xdg-user-dirs/
.RE
.\" manpages-zh translator: 金步国
.\" manpages-zh comment: 金步国作品集：http://www.jinbuguo.com
